package com.ssy.lingxi.report.service.tally;

import com.ssy.lingxi.report.api.vo.request.OperateNoticeVO;
import com.ssy.lingxi.report.entity.report.MemberTallyReportDO;
import com.ssy.lingxi.report.model.bo.MemberTallyReportBO;
import com.ssy.lingxi.report.model.vo.response.AccountTallyReportVO;

import java.util.List;

/**
 * 账号中心计数统计接口定义
 * @author 伍将
 * @date 2020/11/23
 * @version 2.0.0
 */
public interface IAccountTallyService {

    /**
     * 资金账户
     * @param tallyReportO  理货报告
     * @param noticeVO 操作通知
     * @return 会员理货报告
     */
    MemberTallyReportBO setAccount(MemberTallyReportBO tallyReportO, OperateNoticeVO noticeVO);

    /**
     * 转换资金账户
     * @param reportBO 会员理货报告
     * @return 会员理货报告
     */
    AccountTallyReportVO convertAccount(MemberTallyReportBO reportBO);

    /**
     * 统计计数
     * @param reportList 会员理货报告列表
     * @return 统计结果
     */
    List<MemberTallyReportDO> statisticsTally(List<MemberTallyReportDO> reportList);
}
